home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Belgian Amiga Club - ADF Collection
/
BS1 part 41.zip
/
BS1 part 41
/
The Director v1.2.adf
/
Scripts
/
TVgal
< prev
Wrap
Text File
|
1988-05-08
|
6KB
|
293 lines
rem
rem *** Hi-Res demo sequence ***
rem
rem Copyright 1987 Right Answers, All Rights Reserved
rem Do Not Distribute
rem
print
print "This is an example of a hi-res 640x400"
print "animation, combining partial page-flipping,"
print "and random text generation.";
rem figure our memory usage
memory all,chip,fast
if fast :rem only do this if we have fast memory
rem remember the current font directory in temp:
execute a,"assign temp: fonts:"
rem setup our font directory:
execute a,"assign fonts: The_Director:fonts"
endif
pause 20:rem so we can read startup message
array 300,1
setblack 1
load 2,":pictures/tvframes.hi"
load 1,":pictures/tvgirl.hi"
load 3,":pictures/singleplane"
if fast
loadfont 1,9,"topaz.font"
loadfont 2,11,"crazy.font"
rem got the fonts now, restore the original font directory:
execute a,"assign fonts: temp:"
endif
1 display 3:rem our text screen
margins -1,-1:rem insure we're running default margins
center 1
clear
setfont 2:move 0,100:text "a l i e n"
setfont 1:move 0,120:text "view"
fade 1,3,0:pause 40:fade 0,3,0
clear
move 0,100:text "by"
setfont 2:move 0,120:text "keith doyle"
fade 1,3,0:pause 40:fade 0,3,0
clear
move 0,110:text "software:"
fade 1,3,0:pause 40:fade 0,3,0
clear
setfont 1:style 4,0:move 0,100:text "The Director"
style 0,0:move 0,120:text "by"
style 2,0:move 0,140:text "the Right Answers Group"
fade 1,3,0:pause 40:fade 0,3,0
clear
display 1:rem tvgirl
setfont 2
rem init our random text flag
Z=1
fade 1,1,0
pause 20
gosub 200:rem do a wink
pause 20
pen 1,14
rem ** we control the horizontal **
t=433:u=434
20 move t,285:draw u,285:move u,286:draw t,286
t=t-1:u=u+1
if t#328:goto 20:endif
rem ** we control the vertical **
t=2
30 blit 2,0,199-t,329,285-t,210,t+t
t=t+2
if t#68:goto 30:endif
pause 20
pick=2
C=2
rem *** main loop ***
for I=1 to 25
gosub 300+C*100
11 if pick=C
pick=?5
goto 11:rem don't do same one twice in a row
endif
C=pick
if C#5
gosub 100:rem do snow if not #5
endif
pick=?6
next
gosub 9000:rem power down
fade 0,1,1
pause 10
goto 1
100 rem *** snow ***
for i=1 to 5+?10
blit 2,211,264,329,219,210,132
blit 2,423,264,329,219,210,132
next
return
300 rem *** talking girl ***
for i=1 to 15
t=?2
if t
blit 2,0,0,329,219,210,132
else
blit 2,211,0,329,219,210,132
endif
pause 1
next
return
rem *** outside wink ***
200 gosub 310
pause 3
320 blit 2,481,239,303,53,23,14:rem redisplay open eye
pen 1,0
blitdest 2
rect 481,238,504,252:rem erase saved eye
blitdest -1
return
310 blitdest 2
blit 1,303,53,481,239,23,14:rem save open eye
blitdest -1
blit 2,522,50,303,53,23,14:rem display closed eye
return
rem *** inside display and wink ***
400 blitdest 2
blit 2,522,50,481,239,23,14:rem save closed eye
blit 1,303,53,522,50,23,14:rem get open eye
blitdest -1
blit 2,423,0,329,219,210,132:rem display in tv
pause 8
blit 2,481,239,428,269,23,14:rem wink closed
pause 3
blit 2,522,50,428,269,23,14:rem wink open
pause 8
pen 1,0
blitdest 2
blit 2,481,239,522,50,23,14:rem restore closed eye
rect 481,238,504,252:rem erase saved eye
blitdest -1
return
180 rem *** winking pauser ***
rem this routine will do a pause P, but once in a while
rem will do an outside wink while pausing
if pick=5:P=0~(P-20):endif
if (1#?5)|(P<4)
pause P
return
endif
T=(P-4)/2
pause T
gosub 200:rem outside wink
pause T
return
500 rem *** display test pattern ***
blit 2,0,133,329,219,210,132
P=20:goto 180
600 rem *** display nuke ***
blit 2,211,133,329,219,210,132
P=20:goto 180
700 rem *** display stude ***
blit 2,423,133,329,219,210,132
P=20:goto 180
800 rem *** techno text 1 ***
rem uses Z as a toggle, to draw/erase text
if Z
rem build some random text
lastc=-1
for i=0 to 225
if (0=?3)&(lastc#32):@(i)=32
else @(i)=65+?26:endif
lastc=@(i)
next
rem divide into 3 strings, as string length limit is 100 chars each.
@(i)=0
@(98)=0
@(198)=0
rem draw box
drawmode 0:pen 1,0:rem draw fancy box
move 415,36:draw 415,144:draw 628,144:draw 628,36:draw 415,36
move 416,37:draw 416,143:draw 627,143:draw 627,37:draw 416,37
move 411,32:draw 411,148:draw 632,148:draw 632,32:draw 411,32
move 412,33:draw 412,147:draw 631,147:draw 631,33:draw 412,33
rem do the text
margins 425,625
move 425,50
center 1
text "JOIWEJHBSO 90827"
center 0
move 425,65
text $0:text $100:text $200
pen 0,0
else
rem erase text box
pen 1,15
rect 410,4,633,176
endif
Z=1-Z
margins -1,-1
rem ** add annotations
810 drawmode 2:rem xor mode
pen 1,15
move 173,29:draw 213,29:draw 291,69
move 173,30:draw 213,30:draw 291,70
move 175,27:text "FFNAG"
move 105,54:draw 161,54:draw 266,167
move 105,55:draw 161,55:draw 266,168
move 107,52:text "ZPOTZL"
move 44,168:draw 84,168:draw 141,200
move 44,169:draw 84,169:draw 141,201
move 46,166:text "REWPOQ"
move 600,331:draw 578,331:draw 543,381
move 600,332:draw 578,332:draw 543,382
move 580,329:text "IUYX"
drawmode -1
return
9000 rem ** power down **
blit 2,0,133,329,219,210,132
if 0=Z:gosub 800:endif:rem kill any leftover techno text
pause 30
rem reset stuff
center 0
setfont 2
margins -1,-1
drawmode -1
rem remove the vertical
t=2
u=2
9010 blit 2,0,264,329,219,210,t+2
blit 2,0,396-t,329,351-t,210,t
t=t+2
if t#66:goto 9010:endif
pen 1,14
move 329,285:draw 538,285:move 538,286:draw 329,286
rem remove the horizontal
9020 blit 2,u-2,330,327+u,285,2,2
blit 2,210-u,330,539-u,285,2,2
u=u+2
if u#106:goto 9020:endif
for i=13 to 5
pause 2
pen 1,i
move 433,285:draw 434,285:move 434,286:draw 433,286
next
blit 2,u-2,330,327+u,285,2,2
return